﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PCBase.UIControls;

namespace VisionCore
{
    public class SystemModel
    {
        [Browsable(false)]
        [Category("a.基本参数"), DisplayName("01.当前使用工单"), Description("当前使用工单的名称")]
        [ReadOnly(true)]
        public string CurPRM { get; set; }

        [Category("a.基本参数"), DisplayName("02.文件路径参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_FilePath FilePath { get; set; } = new PRM_FilePath();

        [Category("b.通讯参数"), DisplayName("01.通讯参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        //[EditorAttribute(typeof(CommonInputEditor), typeof(System.Drawing.Design.UITypeEditor))]
        public PRM_COMInfo COM { get; set; } = new PRM_COMInfo();

        [Category("c.设备参数"), DisplayName("01.设备参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_EQ EQ { get; set; } = new PRM_EQ();

        #region  三光机
        [Category("e.位置参数"), DisplayName("01.2.入料口1轨道切换位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CVCH_SW_Y CV1_TrackSW_Y { get; set; } = new PRM_CVCH_SW_Y();

        [Category("e.位置参数"), DisplayName("01.4.入料口2轨道切换位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CVCH_SW_Y CV2_TrackSW_Y { get; set; } = new PRM_CVCH_SW_Y();
        #endregion

        #region  old 
      
        [Category("e.位置参数"), DisplayName("02.倒膜平台位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_ExcST_Sys ExcST { get; set; } = new PRM_ExcST_Sys();

        [Category("e.位置参数"), DisplayName("03.倒膜移载位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_ExcTR ExcTR { get; set; } = new PRM_ExcTR();

        [Category("e.位置参数"), DisplayName("04.挑拣平台位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_SortST_Sys SortST { get; set; } = new PRM_SortST_Sys();

        [Category("e.位置参数"), DisplayName("05.载入TR位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_LDTR_Rotation LDTR { get; set; } = new PRM_LDTR_Rotation();

        [Category("e.位置参数"), DisplayName("06.载出TR位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_ULDTR_Rotation ULDTR { get; set; } = new PRM_ULDTR_Rotation();

        [Category("e.位置参数"), DisplayName("07.Laser平台位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_LaserST LaserST { get; set; } = new PRM_LaserST();

        [Category("e.位置参数"), DisplayName("08.载出平台位置参数"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_ULDST ULDST { get; set; } = new PRM_ULDST();


        #endregion
        [Category("f.基准参数"), DisplayName("01.倒膜气缸基准数据"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_EQBase_Exc ExcBase { get; set; } = new PRM_EQBase_Exc();


        [Category("f.基准参数"), DisplayName("02.载入移载基准位置"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_EQBase_LDTR LDTRBase { get; set; } = new PRM_EQBase_LDTR();


        [Category("f.基准参数"), DisplayName("03.载出平台基准位置"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_EQBase_ULDST ULDSTBase { get; set; } = new PRM_EQBase_ULDST();


        [Category("g.寿命监控"), DisplayName("01.夹爪"), Description("")]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_LifeTime LifeTime { get; set; } = new PRM_LifeTime();

    }
}
